<!DOCTYPE html>
<html lang="zh"
>
<head>
    <title>vn.trader的Ubuntu运行环境搭建教程 - vn.py</title>
    <!-- Using the latest rendering mode for IE -->
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">


    <link href="/images/favicon.png" rel="icon">

<link rel="canonical" href="/ubuntu-tutorial.html">

        <meta name="author" content="用Python的交易员" />
        <meta name="description" content="vn.trader的Ubuntu运行环境搭建教程 作者：量衍投资 转载请注明来源：维恩的派（www.vnpie.com） 准备Ubuntu 建议使用一个新安装干净的Ubuntu环境（如果你一定要使用老环境也行，万一不幸掉坑后再回到这步就好），我这里使用的环境如下： 版本：Ubuntu 16.04 LTS 语言：简体中文 时区：Shanghai 硬件：VirtualBox虚拟机（64位，分配4G内存） 安装Anaconda 在Continuum官网下载Python 2.7版本Linux 64-Bit的Anaconda，我这里下载完成后的文件名为Anaconda2-4.0.0-Linux-x86_64.sh。 打开Terminal（终端），进入文件所在的目录，输入如下命令： bash Anaconda2-4.0.0-Linux-x86_64.sh 设置方面除了最后一个选择可以一路回车，到最后一项设置是否要将Anaconda添加到bash的PATH中时，注意选yes ..." />

        <meta property="og:site_name" content="vn.py" />
        <meta property="og:type" content="article"/>
        <meta property="og:title" content="vn.trader的Ubuntu运行环境搭建教程"/>
        <meta property="og:url" content="/ubuntu-tutorial.html"/>
        <meta property="og:description" content="vn.trader的Ubuntu运行环境搭建教程 作者：量衍投资 转载请注明来源：维恩的派（www.vnpie.com） 准备Ubuntu 建议使用一个新安装干净的Ubuntu环境（如果你一定要使用老环境也行，万一不幸掉坑后再回到这步就好），我这里使用的环境如下： 版本：Ubuntu 16.04 LTS 语言：简体中文 时区：Shanghai 硬件：VirtualBox虚拟机（64位，分配4G内存） 安装Anaconda 在Continuum官网下载Python 2.7版本Linux 64-Bit的Anaconda，我这里下载完成后的文件名为Anaconda2-4.0.0-Linux-x86_64.sh。 打开Terminal（终端），进入文件所在的目录，输入如下命令： bash Anaconda2-4.0.0-Linux-x86_64.sh 设置方面除了最后一个选择可以一路回车，到最后一项设置是否要将Anaconda添加到bash的PATH中时，注意选yes ..."/>
        <meta property="article:published_time" content="2016-05-09" />
            <meta property="article:section" content="文章" />
            <meta property="article:author" content="用Python的交易员" />


    <!-- Bootstrap -->
        <link rel="stylesheet" href="/theme/css/bootstrap.readable.min.css" type="text/css"/>
    <link href="/theme/css/font-awesome.min.css" rel="stylesheet">

    <link href="/theme/css/pygments/monokai.css" rel="stylesheet">
    <link rel="stylesheet" href="/theme/css/style.css" type="text/css"/>


        <script>
            var _hmt = _hmt || [];
            (function() {
              var hm = document.createElement("script");
              hm.src = "//hm.baidu.com/hm.js?e8c7573f82d43fa50c895a8e28c49ceb";
              var s = document.getElementsByTagName("script")[0]; 
              s.parentNode.insertBefore(hm, s);
            })();
        </script>

</head>
<body>

<div class="navbar navbar-default navbar-fixed-top" role="navigation">
	<div class="container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>
            <a href="/" class="navbar-brand">
<img src="/images/favicon.png" width=""/> vn.py            </a>
        </div>
        <div class="collapse navbar-collapse navbar-ex1-collapse">
            <ul class="nav navbar-nav">
                         <li><a href="/pages/quickstart.html">
                             Quick Start
                          </a></li>
                         <li><a href="/pages/tutorial.html">
                             教程
                          </a></li>
                         <li><a href="/pages/blog.html">
                             日志
                          </a></li>
                         <li><a href="/pages/screenshot.html">
                             截图
                          </a></li>
                         <li><a href="/pages/community.html">
                             社区
                          </a></li>
                         <li><a href="/pages/api.html">
                             API接口
                          </a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
              <li><a href="/archives.html"><i class="fa fa-th-list"></i><span class="icon-label">Archives</span></a></li>
            </ul>
        </div>
        <!-- /.navbar-collapse -->
    </div>
</div> <!-- /.navbar -->
<!-- Banner -->
<style>
	#banner{
	    background-image:url("/images/banner.png");
	}
</style>

<div id="banner">
	<div class="container">
		<div class="copy">
			<h1>vn.py</h1>
				<p class="intro">Developed by traders, for traders.</p>
		</div>
	</div>
</div><!-- End Banner -->
<div class="container">
    <div class="row">
        <div class="col-sm-9">

    <section id="content">
        <article>
            <header class="page-header">
                <h1>
                    <a href="/ubuntu-tutorial.html"
                       rel="bookmark"
                       title="Permalink to vn.trader的Ubuntu运行环境搭建教程">
                        vn.trader的Ubuntu运行环境搭建教程
                    </a>
                </h1>
            </header>
            <div class="entry-content">
                <div class="panel">
                    <div class="panel-body">
<footer class="post-info">
    <span class="label label-default">Date</span>
    <span class="published">
        <i class="fa fa-calendar"></i><time datetime="2016-05-09T16:10:42+08:00"> 2016-05-09(周一)</time>
    </span>



    
</footer><!-- /.post-info -->                    </div>
                </div>
                <h1>vn.trader的Ubuntu运行环境搭建教程</h1>
<p>作者：量衍投资</p>
<p>转载请注明来源：维恩的派（www.vnpie.com）</p>
<h2>准备Ubuntu</h2>
<p>建议使用一个新安装干净的Ubuntu环境（如果你一定要使用老环境也行，万一不幸掉坑后再回到这步就好），我这里使用的环境如下：</p>
<ul>
<li>版本：Ubuntu 16.04 LTS</li>
<li>语言：简体中文</li>
<li>时区：Shanghai</li>
<li>硬件：VirtualBox虚拟机（64位，分配4G内存）</li>
</ul>
<h2>安装Anaconda</h2>
<p>在<a href="https://www.continuum.io/downloads">Continuum官网</a>下载Python 2.7版本Linux 64-Bit的Anaconda，我这里下载完成后的文件名为Anaconda2-4.0.0-Linux-x86_64.sh。</p>
<p>打开Terminal（终端），进入文件所在的目录，输入如下命令：</p>
<div class="highlight"><pre><span></span>bash Anaconda2-4.0.0-Linux-x86_64.sh
</pre></div>


<p>设置方面除了最后一个选择可以一路回车，到最后一项设置是否要将Anaconda添加到bash的PATH中时，注意选yes，安装成功后如下图所示：</p>
<p><img alt="Anaconda" src="http://7x2w1m.com1.z0.glb.clouddn.com/anaconda.JPG" /></p>
<p>下一步重启系统，打开Terminal后运行Python，如下图所示说明安装成功（注意最上方显示中有Anaconda相关信息）：</p>
<p><img alt="Terminal" src="http://7x2w1m.com1.z0.glb.clouddn.com/terminal.JPG" /></p>
<h2>安装其他依赖</h2>
<p>使用pip安装MongoDB驱动和Qt黑色主题，注意不要加sudo:</p>
<div class="highlight"><pre><span></span>pip install pymongo qdarkstyle
</pre></div>


<p>使用apt-get安装编译API相关的工具：</p>
<div class="highlight"><pre><span></span>sudo apt-get install git build-essential libboost-all-dev python-dev cmake
</pre></div>


<h2>运行vn.trader</h2>
<p>使用git从Github上下载vn.py框架：</p>
<div class="highlight"><pre><span></span>git clone http://github.com/vnpy/vnpy.git
</pre></div>


<p>完成后，切换到vn.trader文件夹下（cd vnpy/vn.trader），输入命令：</p>
<div class="highlight"><pre><span></span>python vtMain.py
</pre></div>


<p>当当~~~~，深沉内敛的黑色主界面出现了：</p>
<p><img alt="MainWindow" src="http://7x2w1m.com1.z0.glb.clouddn.com/mainwindow.JPG" /></p>
<p>注意菜单栏系统下的连接选项中只有CTP、LTS和OANDA三个接口，这是因为当前项目里只编译了vn.ctp和vn.lts的Ubuntu版本，而vn.oanda是基于REST API的纯Python接口，可以直接跨平台使用。</p>
<h2>总结</h2>
<p>试着使用Ubuntu后，不得不承认确实Linux在编程方面比Windows更加友好，看过vn.py的Windows开发环境搭建教程的用户应该记得其步骤还是相当繁琐的（boost占了相当一部分），而Ubuntu下基本只有三步：安装Anaconda、pip和apt-get，纯命令行操作用着很爽。</p>
<p>安装完上面的这套环境后，想要折腾一下自己编译API的用户可以进入vn.ctp文件夹下，输入：</p>
<div class="highlight"><pre><span></span>./build.sh
</pre></div>


<p>然后就编译好了，简直非常之爽（当然写CMakeLists.txt的时候还是挺麻烦），编译好的接口在build/lib文件夹下。</p>
            </div>
            <!-- /.entry-content -->
        </article>
    </section>

        </div>
        <div class="col-sm-3" id="sidebar">
            <aside>

<section class="well well-sm">
    <ul class="list-group list-group-flush">
            <li class="list-group-item"><h4><i class="fa fa-home fa-lg"></i><span class="icon-label">Social</span></h4>
              <ul class="list-group" id="social">
                <li class="list-group-item"><a href="http://github.com/vnpy/vnpy"><i class="fa fa-github-square fa-lg"></i> Github</a></li>
              </ul>
            </li>



    <li class="list-group-item"><h4><i class="fa fa-external-link-square fa-lg"></i><span class="icon-label">Links</span></h4>
      <ul class="list-group" id="links">
        <li class="list-group-item">
            <a href="http://www.vnpie.com" target="_blank">
                官方论坛 - 维恩的派
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.trader" target="_blank">
                交易平台
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.event" target="_blank">
                事件引擎
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.ctp" target="_blank">
                CTP接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.xspeed" target="_blank">
                飞创接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.femas" target="_blank">
                飞马接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="https://github.com/vnpy/vnpy/tree/master/vn.lts" target="_blank">
                LTS接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.ksotp" target="_blank">
                金仕达期权接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.ksgold" target="_blank">
                金仕达黄金接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.sgit" target="_blank">
                飞鼠接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/dev/vn.qdp" target="_blank">
                QDP接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.oanda" target="_blank">
                OANDA接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.ib" target="_blank">
                IB接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.shzd" target="_blank">
                直达期货接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.okcoin" target="_blank">
                OKCoin接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.datayes" target="_blank">
                通联数据接口
            </a>
        </li>
        <li class="list-group-item">
            <a href="http://github.com/vnpy/vnpy/tree/master/vn.demo" target="_blank">
                开发DEMO
            </a>
        </li>
      </ul>
    </li>
    </ul>
</section>
            </aside>
        </div>
    </div>
</div>
<footer>
   <div class="container">
      <hr>
      <div class="row">
         <div class="col-xs-10">&copy; 2017 用Python的交易员
            &middot; Powered by <a href="https://github.com/DandyDev/pelican-bootstrap3" target="_blank">pelican-bootstrap3</a>,
            <a href="http://docs.getpelican.com/" target="_blank">Pelican</a>,
            <a href="http://getbootstrap.com" target="_blank">Bootstrap</a>         </div>
         <div class="col-xs-2"><p class="pull-right"><i class="fa fa-arrow-up"></i> <a href="#">Back to top</a></p></div>
      </div>
   </div>
</footer>
<script src="/theme/js/jquery.min.js"></script>

<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="/theme/js/bootstrap.min.js"></script>

<!-- Enable responsive features in IE8 with Respond.js (https://github.com/scottjehl/Respond) -->
<script src="/theme/js/respond.min.js"></script>

    <script src="/theme/js/bodypadding.js"></script>

</body>
</html>